home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / mxlibs / gusdk222 / readme.rev < prev    next >
Text File  |  1994-12-23  |  10KB  |  176 lines

  1.  
  2. UltraSound SDK Revision History                         Updated: Dec. 21,1994
  3. ===============================
  4.  
  5.    Version 1.02 - First general release
  6.  
  7.    Version 1.03 - Fixed bug in UltraSetVolume()
  8.  
  9.    Version 1.04 - Fixed bug in UltraMaxAlloc()
  10.  
  11.    Version 1.05 - Linear volume functions are now linear.
  12.              - Source files split up so objs are separate. This
  13.                will make your code smaller.
  14.               - Microsoft libraries provided.
  15.               - Changed some prototypes from int to unsigned char.
  16.                   My lint checker liked ints better. The values
  17.                   were 8 bit so I set the prototyes appropriately.
  18.               - Added support for 2 Adlib-type timers.
  19.               - Included interrupt callback functions. These
  20.                   were done before but inadvertantly left out of
  21.                   the libraries.
  22.  
  23.    Version 1.06 - Added functions to return state of DMA channel(s)
  24.                   UltraDramDmaBusy,UltraSampleDmaBusy
  25.               - Fixed potential problem with UltraPeekData and
  26.                   UltraPokeData
  27.               - Fixed bug in UltraVoiceStopped and UltraVolumeStopped
  28.               - Added an support functions for sending/recieving data
  29.                 thru midi port.
  30.    Version 1.07 - Fixed bug in restoring the interrupt vectors when
  31.                  closing out the card. A benign problem for the most
  32.                  part. Deadly if irq 7 was used.
  33.  
  34.    Version 1.08 - Changed the upload & download functions to accept
  35.                a far pointer to the buffer of data to send/receive.
  36.              - Added some of the recording functions. More complete
  37.                documentation to follow.
  38.              - Fixed a bug in the download. Problem downloading if
  39.                buffer ended on a 256K page boundary. The memory 
  40.                allocation structures would be blitzed.
  41.              - IRQ and DMA channel's can now be NOT programmed for
  42.                the board. If any of the parameters are set to 0, 
  43.                the corresponding latch on the board will be setup
  44.                such that it will not be used. This will allow the
  45.                application NOT to use up a PC resource. This can
  46.                be handy if resources are tight.
  47.  
  48.    Version 1.09 - Documentation change. UltraPokeData takes 3 arguments.
  49.                   Prototype was correct, documentation was wrong.
  50.                - Cleaned up documentation, added couple prototypes.
  51.                - Added cdecl's for those who might need it.
  52.  
  53.    Version 1.10 - Added functions to allocate/deallocate voices. These
  54.                   could have been done by the application, but is useful
  55.                   to add here.
  56.                - Fixed documentation on UltraMemFree(). Had arguments
  57.                   flipped.
  58.                - Changed some of the source code to make recompiling for
  59.                   Watcom C.
  60.  
  61.     Version 2.00 - General documentation cleanup. Spelling, grammer etc..
  62.                - Added a lot of hardware specific documentation
  63.                   (Theory of operation, register level defs etc)
  64.                - Fixed bug in volume ramping. Problems when the ramp
  65.                   values are the same.
  66.  
  67.     Version 2.01 - Fixed bug in UltraAngPosition()
  68.                 - Changed init procedure to set locations 0&1 to 0. All
  69.                   voices point there & will cause problems if their
  70.                   volumes are raised. (clipping when they are summed
  71.                   in).
  72.  
  73.     Version 2.10 - UltraMidiEnableRecv and UltraMidiEnableXmit were flipped.
  74.                    They turned each other's IRQs on instead of their own.
  75.                  - UltraMidiDisableRecv and UltraMidiDisableXmit were flipped.
  76.                    They turned each other's IRQs off instead of their own.
  77.                  - Fixed documentation on UltraStartVoice. When playing a
  78.                    sample in reverse, the BEGIN location should be the
  79.                    largest, the start of the loop should be next and the
  80.                    end loop address should be the smallest.
  81.                  - Fixed bug in UltraStartVoice(). A sampled attack was
  82.                    not done properly. Playing a sample backwards was also
  83.                    incorrect.
  84.                  - Fixed documenation Appendix C. Bit 6 is the direction
  85.                    bit. 0 means increasing addresses. 1 means decreasing.
  86.                    It is not normally necessary to set this bit.
  87.                    UltraStartVoice will set it if the start address is
  88.                    greater than the end address.
  89.                  - Cleaned up the makefiles a bit.
  90.                  - Corrected doc on return values for UltraRecordDmaBusy()
  91.                  - Changed the segment group names for Borland tiny model.
  92.                    Makes a .sys driver easier.....
  93.                  - Fixed bug in UltraAlocVoice. Didn't init variable and
  94.                    could return OK when there were no free voices.
  95.                  - Moved some misc. global variables into _gf1_data struct
  96.                  - Changed initial mixer setting to everything disabled
  97.                  - Added support for the rollover bit
  98.                  - changed    inportw to inpw
  99.                               outportw to outpw
  100.                               inport to inp
  101.                               outport to outp
  102.                           so it will compile with Borland C++ 3.1
  103.                  - Made functions use ANSI calling sequence.
  104.                  - Add support for rollover bit
  105.                  - Add support for Metaware High C compiler
  106.                  - Fixed bug in enabling irq in sampling code
  107.                  - changed DMA controller to use demand mode. This has no
  108.                    effect on current hardware. (vars.c)
  109.                  - PASCAL routines added by Kurt Kennett of Ingenuity
  110.                    Software.  These routines are a direct analog translation.
  111.                  - The documentation was completely reworked to allow for
  112.                    this interface.  As a result, new sections were added
  113.                    to chapter 1, chapter 3 was slimmed down, and the
  114.                    appendices were changed to accomodate both languages.
  115.                    The section with the least # of changes was chapter 2.
  116.                  - The addition of PASCAL calls and the total rework of
  117.                    the documentation justified a full minor revision
  118.                    update. (2.02 to 2.10).
  119.  
  120.     Version 2.11
  121.                  - Fixed bug in UltraSetVoiceMode. It would disable irqs
  122.                   on the voice.
  123.                  - Changes several functions to accept far pointers. This
  124.                   was necessary to support SS != DS (i.e. OS/2)
  125.                  - Fixed problem in UltraReadDmaPos(). Could hang if counter
  126.                    was not moving.
  127.                  - Fixed boundary bug in PrimeDma. Ending location was
  128.                   off by one.
  129.                 - Fixed some ROLLOVER problems. UltraSetVoiceEnd() and
  130.                   handle_voice() needed some tweeks.
  131.                 - Made UltraPing() look at two values to determine if card
  132.                   is present
  133.                 - Added prototypes for the handler's to gf1proto.h
  134.                 - irq.c changed MEATWARE to METAWARE
  135.                 - Fixed bug in PASCAL version : UltraGetVoice returned
  136.                   only one voice before not allowing any more voices to
  137.                   be allocated.  Pascal 'LoadMod' example file fixed.
  138.                   Source code included in this version.
  139.  
  140.     Version 2.13
  141.                 - Changed the handler's prototypes to standard ones.
  142.                 - Minor changes so it will build with visual C++ (C8)
  143.                 - Added a couple new functions.
  144.                            UltraStopRecordDma()
  145.                            UltraStopPlayDma()
  146.                 - Changed Ultra16Xparent. Line level input too low.
  147.                 - Fixed bug in irq16.c. Wasn't clearing DMA busy flags.
  148.                 - Fixed off-by-one in GetRecordDmaPos(). Would make it look
  149.                         like it xferred more data than it did.
  150.                 - Changed board version checking to this
  151.                     5 - ICS mixer. Some inputs are flipped
  152.                     6-7 - ICS mixer. Iinputs all correct
  153.                     8-11 - UltraMAX (No ICS mixer)
  154.                     0x81 - 0x90 - GUS w/o line in and mic enables
  155.                 - Added channel mutes to ICS mixer code and UltraMixMute()
  156.                     function
  157.                 - Changed name of mixer.c icsmix.c
  158.                 - Added #defines to includes to allow them to be included
  159.                     multiple times.
  160.                 - Added MallocTinyAlignedBuff(). Small and Tiny model
  161.                     should use this to get a page-aligned buff.
  162.                 - Fixed malloc/farfree mismatch in MallocAlignedBuff()
  163.                 - Removed -Z options in makeborl for small model. Caused
  164.                     some null pointer problems on exit. Tiny model still
  165.                     uses them.....
  166.  
  167.     Version 2.20 - Pre-release at CES
  168.  
  169.     Version 2.21 - Changed WATCOM getvect and setvect routines to use
  170.                    _dos_getvect and _dos_setvect.
  171.  
  172.     Version 2.22 - Added information for popular high-level third party API's
  173.                    that support the UltraSound, as an alternative to directly
  174.                    programming the UltraSound.
  175.                  - General Cleanup
  176.